Moin Moin,
ich bin derzeit dabei einen Serienbrief zu erstellen, als PDF und WORD zu speichern und danach zu drucken.
Ich bin kein VBA Profi, daher sieht der Code ziemlich zusammengewürfelt aus.
Das Problem ist das folgende: Ich muss den Serienbrief drucken jeweils 2-4x.
Ich möchte aber eine Sortierung haben bei der gilt: 1. Stapel, dann 2. Stapel, dann 3. Stapel und nicht 3x 1. Stapel usw...
Leider druckt der bei meinem Code die letzte Zeile als erstes - danach funktioniert alles regulär. Aber immer ist die letzte Seite als erstes gedruckt... Das nervt mich :D
Könntet ihr da einmal drübergucken? Da ich blutiger Anfänger bin habe ich mich mit GoTo etc durchgewurschtelt.. Nicht meckern ;)
DANKE EUCH!
INFO: strinbox und strinboxende sind Inputfelder (Zeilen aus einer Exceltabelle). Das (-1) wird genutzt, da die Zeile im Serienbrief und in der Exceltabelle nicht übereinstimmen (Überschriften und so)
(Hier Code zum Speichern, der funktioniert aber)
GoTo Durchlauf
Durchlauf:
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = strInbox - 1
Do
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
sBrief = Path & .DataFields("VBA").Value & ".pdf"
End With
.Execute Pause:=False
If drucken = vbYes Then
ActiveDocument.PrintOut
End If
ActiveDocument.Close False
If .DataSource.ActiveRecord < strInboxende - 1 Then
.DataSource.ActiveRecord = wdNextRecord
Else
Exit Do
End If
Loop
i = i + 1
If i <> Schleife Then
GoTo Durchlauf
End If
|